Add some Localization, Language Switcher, Window Persistence, and UI Improvements (v1.0.1.0)#71
Add some Localization, Language Switcher, Window Persistence, and UI Improvements (v1.0.1.0)#71syahdafahreza wants to merge 5 commits into
Conversation
Add Indonesian (id_ID) localization and a selectable UI language option. Key changes: - Add src/localization_id_id.h and register Indonesian in localization arrays; expose localization_get_language_name. - Add config_language (default = auto) to config.c/.h and persist/load it from settings. - Add language combobox and related UI strings/controls in resource.h and .rc; include a UTF-8 .rc copy (res/voidImageViewer_utf8.rc). - Bump application version to 1.0.1.0 (nsis/version.nsh and resource version info) and add scratch_version.ps1 to help update versions. - Adjust some default config values (store settings in %APPDATA% by default, change navigation sort to name ascending). - Minor UI layout adjustments and new control IDs for reset window, commands, and keyboard shortcut labels. - Add auxiliary files: comments.json, issues.json, test_math.c, and update project file (vs2026/voidImageViewer.vcxproj). These changes add language support and UI elements to let users choose their preferred language and ensure the new strings/resources are included and versioned.
|
Thank you for your work on VIV syahdafahreza, There's a lot of changes here and I will need to go over them. I have already adjusted the zoom levels (0.01 - 0.2 curve) and will need more time to review. The window state was already persistent, so I will have to check your changes. I might move the options dialog size to the translation template. Thanks again for your work. |
|
Hi, Thank you for taking the time to review my PR and for the detailed feedback! I really appreciate it. Just let me know if you need to make any further adjustments or revert any specific commits. Thanks again! |
This Pull Request introduces several features, improvements, and bug fixes to enhance the user experience and expand accessibility. I have also bumped the version to 1.0.1.0 across all components.
Key Changes:
1. Localization & Language Support
id-ID) localization support viasrc/localization_id_id.h.IDC_STATIClabels in the resource file. This enables dynamic localization of all UI elements without falling back to hardcoded English strings.2. Window Management & Persistence
3. UI/UX Refinements (Scroll Zoom & Layout)
Code Comparison (Before vs After):
A. Robust & Smooth Scroll Zoom
I refined the zoom logic to be resolution-aware, preventing jumpy zooming on small icons while maintaining speed on high-res photos.
B. Options Dialog Layout (Widened)
Increased the width of the Options dialog to prevent clipping of long localization strings (common in Indonesian and Chinese).
C. Localizable Static Labels
Assigned unique IDs to static labels that were previously hardcoded as
IDC_STATIC, allowing them to be dynamically updated viaos_SetDlgItemText_localization_id.D. Window Persistence (config.c):
Note to Maintainer:
Please review the changes carefully, particularly the resource ID changes in
voidImageViewer.rcandresource.h. I have bumped the version to 1.0.1.0 as these changes introduce new functional features and significant UI improvements. I have tested these changes on Windows 10/11 and they appear stable. However, if any part of this PR does not align with the project's vision, feel free to request changes or decline the PR. Thank you for your time and for maintaining this excellent tool!